/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package fi.uba.algo3.tp3.controller;

import fi.uba.algo3.tp3.modelo.servicios.ServicioJuego;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;

/**
 *
 * @author ariel
 */
public class UserController implements KeyListener {

    private ServicioJuego servicio;

    public UserController(ServicioJuego servicio) {
        this.servicio = servicio;
    }

    @Override
    public void keyPressed(KeyEvent e) {
        //super.keyPressed(e);
        servicio.despacharEventoDeUsuario(Evento.getEvento(e.getKeyCode()));
        
    }

    @Override
    public void keyTyped(KeyEvent e) {}

    @Override
    public void keyReleased(KeyEvent e) {}

    public enum Evento {

        IZQUIERDA(KeyEvent.VK_LEFT),DERECHA(KeyEvent.VK_RIGHT),
        ARRIBA(KeyEvent.VK_UP) , ABAJO(KeyEvent.VK_DOWN);

        private int key;

        private Evento(int key) {
            this.key = key;
        }

        public int getKey() {
            return key;
        }
         /**
	 * Obtiene el enum correspondiente al valor recibido
	 */
	public static Evento getEvento(int value) {
		if (value == IZQUIERDA.getKey()) {
			return IZQUIERDA;
		} else if (value == DERECHA.getKey()) {
			return DERECHA;
		} else if (value == ARRIBA.getKey()) {
			return ARRIBA;
		} else if (value == ABAJO.getKey()) {
			return ABAJO;
                } else {
			return null;
		}
	}

    }

}
